<?php

class ocorrenciasComponent extends Component{
    
    /*exibido na página de listagem*/
    public function DrawItem($model, $pkey, $item, $dados){
        
        if(array_key_exists('msg', $item)){
            $lastMessages = $item['msg'];
            unset($item['msg']);
        }
        
        $class = array_key_exists("tipo", $item)? $item['tipo']:"";
        if(array_key_exists('previsao_encerramento', $item) && $item['previsao_encerramento'] != '0000-00-00'){
            $res = timeResource::diffDate($item['previsao_encerramento']);
            if($res > 0 && $item['tipo'] == "andamento"){
                $class = 'atraso';
                $item['tipo'] = "atrasado";
            }
            unset($item['previsao_encerramento']);
        }
        
        echo "<div class='$class'>";
        $link = $this->gerarLink($model, $pkey, $item);
        foreach($item as $name => $it){
            if(array_key_exists($name, $dados) && 
               array_key_exists('private', $dados[$name]) && 
               $dados[$name]['private'] == true
            )continue;
            if(@$name[0] == "_" && @$name[1] == "_") continue;
            $nm = array_key_exists($name, $dados)?$dados[$name]['name']:'';
            $it = $this->formatType($name, $dados, $it);
            
            if($it != ""){
                echo "<div class='container_$name'>";
                if($nm != "") echo "<span class='list_label l_$name'>$nm: </span>";
                echo "<span class='$name'>$it</span>";
                echo "</div>";
            }
        }

        if(isset($lastMessages)){
            echo "<div class='clear'></div>";
            $msgmodel = 'ocorrencia/mensagem';
            $this->LoadComponent($msgmodel, 'msg');
            $this->msg->listar($msgmodel, $lastMessages, OCORRENCIA_ULTIMAS_MENSAGENS);
        }
        echo "<a class='showlink' href='$link'>".VEJA_MAIS."</a></div>";
    }
    
    /*
    public function listInTable($model, $itens, $title = "", $class = ''){
        $this->LoadModel($model, 'obj');
        $dados = $this->obj->getDados();
        $pkey = $this->obj->getPkey();
        $id = str_replace("/", "_", $model);
        $class = ($class != "")? " class='$class'":"";
        $table  = array();
        $i      = 0;
        $header = array();
        $stopheader = false;
        foreach($itens as $item){
            $tb = array();
            
            $class = array_key_exists("tipo", $item)? $item['tipo']:"";
            if(array_key_exists('previsao_encerramento', $item)){
                if($item['previsao_encerramento'] != '0000-00-00'){
                    $res = timeResource::diffDate($item['previsao_encerramento']);
                    if($res > 0 && $item['tipo'] == "andamento"){
                        $class = 'atraso';
                        $item['tipo'] = "atrasado";
                    }
                }
                unset($item['previsao_encerramento']);
            }
            $tb['class'] = $class;

            foreach($item as $name => $valor){
                if(array_key_exists($name, $dados) && 
                   array_key_exists('private', $dados[$name]) && 
                   $dados[$name]['private'] == true) continue;
                if(@$name[0] == "_" && @$name[1] == "_") continue;
                if(!$stopheader) $header[] = array_key_exists($name, $dados)?$dados[$name]['name']:$name;
                $val = $this->formatType($name, $dados, $valor);
                $tb[$name] = $val;
            }
            
            $link = $this->gerarLink($model, $pkey, $item);
            $tb["__id"]      = implode("-", $this->getPkeyValue($pkey, $item));
            $tb["Veja Mais"] = "<a class='showlink' href='$link'>Veja Mais</a>";
            if(!$stopheader) $header[] = "Veja Mais";
            
            $table[$i] = $tb;
            $i++;
            $stopheader = true;
        }
        
        echo "<div class='$class' id='$id'> ";
            echo "<div class='title'>$title</div>";
            $this->LoadResource('html/table', 'tb');
            $this->tb->draw($table, $header);
        echo "</div>";
    }*/

    public function show($model, $item){
        
        if($item['tipo'] == 'Excluído'){
            if($item['excluidoem'] != ""){
                extract($item);
                $date = timeResource::addDayIntoDate($item['excluidoem'], 15);
                $date = convertData($date);
                //$data = date_add($date, '30');
                $this->gui->opendiv("ocorrencia_excluida");
                $this->gui->warning("Este Assunto foi enviado para a lixeira e será removido automaticamente no dia $date");
                $this->gui->closediv();
            }else{
                $this->LoadModel('ocorrencia/ocorrencias', 'model');
                $this->model->restaurarExcluido($item['cod_ocorrencia']);
                $item = $this->model->getItem($item['cod_ocorrencia']);
            }
        }elseif(isset($item['__grupo'])){
            $this->LoadModel('ocorrencia/grupo', 'gr');
            if($this->gr->IsArquivado($item['__grupo'])){
                $this->gui->warning("Este Assunto está desativado pois o grupo do qual pertence foi arquivado");
            }
        }
        
        if(!isset($item['envolvidos']) || empty($item['envolvidos'])){
            $link = $this->Html->getLink('ocorrencia/ocorrencias/pessoas');
            $this->gui->info("<b>Nenhum usuário neste Assunto! 
                <a href='$link'>clique aqui</a> para adicionar novos usuários</b>");
            return;
        }
        
        parent::show($model, $item);
    }
    
    /*exibido na página do item*/
    protected function DrawShowItem($name, $var, $arr, $showlabel = false){
        $blacklist = array('cod_ocorrencia', 'encerradoem','cod_usuario', 'tipo_envolvimento', 'lida', 'importante', 'in_blacklist', 'data_envolvimento');
        if(in_array($name, $blacklist))return;
        parent::DrawShowItem($name, $var, $arr, true);
    }
    
}
?>